const url = require("url"),
    fs = require("fs"),
    http = require("http"),
    path = require("path");
http.createServer(function (req, res) {
    let contextPath = url.parse(req.url).pathname;
    let pathname = contextPath.startsWith("/resources") ? __dirname + "/../.." + contextPath : __dirname + contextPath;
    if (path.extname(pathname) === "") {
        pathname += "/";
    }
    if (pathname.charAt(pathname.length - 1) === "/") {
        pathname += "FutureNovel.html";
    }

    fs.access(pathname, fs.constants.R_OK, function (err) {
        if (!err) {
            switch (path.extname(pathname)) {
                case ".html":
                    res.writeHead(200, {"Content-Type": "text/html"});
                    break;
                case ".js":
                    res.writeHead(200, {"Content-Type": "text/javascript"});
                    break;
                case ".css":
                    res.writeHead(200, {"Content-Type": "text/css"});
                    break;
                case ".gif":
                    res.writeHead(200, {"Content-Type": "image/gif"});
                    break;
                case ".jpg":
                    res.writeHead(200, {"Content-Type": "image/jpeg"});
                    break;
                case ".png":
                    res.writeHead(200, {"Content-Type": "image/png"});
                    break;
                default:
                    res.writeHead(200, {"Content-Type": "application/octet-stream"});
            }

            fs.readFile(pathname, function (err, data) {
                res.end(data);
            });
        } else {
            res.writeHead(404, {"Content-Type": "text/html"});
            res.end("<h1>404 Not Found</h1>");
        }
    });
}).listen(8848);
console.log("前端测试服务器运行在 http://localhost:8848/");
